1. Field of the Invention
The present invention relates to an object display system and particularly to an improved system wherein object data stored in an object display data memory and corresponding to one scene are read out and displayed on a raster display as an image.
2. Description of the Related Art
Object display systems are currently used in various simulators and other appliances. In video games which are recently spreading, an object display system is used to form game scenes corresponding to the respective states of game.
FIG. 15 shows a conventional object display system which is used in a video game.
The conventional object display system comprises an object controller 10 and an object data memory 20. The object controller 10 calculates object data for each of objects to be displayed on CRT by one scene, according to a preselected game program and external input signals. The object data for each object includes an object identification signal used to specify the displayed object, vertical and horizontal display position data representative of the position of the displayed object on the CRT and additional data. The object data calculated by the object controller 10 and corresponding to one scene are written and stored in the object data memory 20 at each time when said calculation has been completed.
The contents of the object data memory 20 are updated at each time when the calculated object data corresponding to one scene are outputted from the object controller 10.
In order to display the image of each object on the CRT in accordance with the object data stored in the object data memory 20 and corresponding to one scene, the data of an object to be displayed on the succeeding horizontal scan line of the CRT must be read out after each horizontal scan.
Thus, the conventional system comprises an object detecting and writing circuit 50 for detecting an object displayed on each horizontal scan line from the object data memory 20 in synchronism with each horizontal scan. The detected object data are then applied to a character generator 40, via a data bus, through a latch circuit 30 and at the same time to a line buffer 60.
The character generator 40 previously stores an object image representative of the shape and color of each object as a group of vertical and horizontal color pixel block data as shown in FIGS. 16A and 16B. Object identification data used to read out the corresponding object are set in each of the stored object images, that is, block data.
When the object identification data of an object and its vertical scan position signal (line number) in the block are inputted in the character generator 40, the object image thereof is read out for each line.
FIG. 11 shows a plurality of images stored in the character generator 40 with respect to the block data of objects. In this figure, the identification data of each of the objects includes column character codes and line character codes. In the preferred embodiment, the object data is set for the number of objects equal to 1024.times.64, which are specified by the column character codes equal to 1024 and the line character codes equal to 64.
As seen from FIG. 11, the block data of each object are represented by the total number of pixels equal to 64, which are defined by eight longitudinal addresses times eight transverse addresses. Pixel data of eight bits are assigned to each pixel.
Normally, the 8-bit pixel data assigned to each pixel are representative of color codes used to distinguish colors. In case where 8-bit pixel data are assigned to each pixel as shown in FIG. 11, the total number of color codes will be equal to 2.sup.8 =256.
FIG. 12 shows the concept of a readout address for an object registered in the character generator 40. This readout address includes object identification data CC consisting of line character codes CCU and column character codes CCL, a line number and a dot number. The readout address is adapted to specify block data of the corresponding displayed object by the use of the line and column character codes; to specify a horizontal scan line within the block of the object by the use of the line number (vertical in-block scan position data); and to specify the address of the corresponding pixel displayed on the specified horizontal scan line by the use of the dot number.
By successively incrementing said dot number by eight bits, therefore, pixel data (8-bit pixel data) of the corresponding object is sequentially read out from the character generator 40 and then outputted to the line buffer 60 (FIG. 15). Such a procedure is repeated to write the pixel data of one or more objects to be displayed on one horizontal scan line in the line buffer 60.
The pixel data of the object(s) written in the line buffer 60 in synchronism with one horizontal scan on the CRT are then applied to a color signal circuit (not shown) through a multiplexer 70. The color signal circuit will then output the image signals of the corresponding object from the color signal circuit by each pixel.
However, the conventional object display system has the following problems which are highly desired to overcome in the art.
(A) First Problem
In the conventional system, it is possible that a plurality of objects are displayed as overlapped images. In such a case, one of the objects having its higher priority order must be written in the line buffer 60 at the overlapped area.
It is now assumed that two objects X.sub.1 and X.sub.2 each having transparent sections P (designated "0") and opaque sections U (designated numerals other than "0") as shown in FIG. 16 are overlapped to form a composite scene as shown in FIG. 17. In such a case, the object X.sub.1 (e.g. forwardly displayed object) having its higher priority order must be written in an area wherein the two objects are displayed overlapped. However, if a portion of the object X.sub.1 having its higher priority order includes transparent section(s) P, the other or backwardly displayed object will be viewed through the transparent section(s) of the forwardly displayed object.
When it is assumed that the composite scene shown in FIG. 17 is to be displayed, its scan line data will be written in the line buffer 60 such that pixel data of the object X.sub.1 shown in FIG. 18 (B) are overlapped over pixel data of the object X.sub.2 shown in FIG. 18 (A) to display the opaque sections of the object X.sub.2 through the transparent sections P of the object X.sub.1 overlapped thereover, as shown in FIG. 18 (C).
In order to perform such a writing operation, it is required to write the data of each object into the line buffer 60 while judging whether each of the pixels in that object is transparent or opaque. To this end, the conventional system judged whether or not each of the pixels is transparent, based on color codes being written in the line buffer 60.
The color codes are composed of data equal to eight or more bits. In the recent video games using many kinds of colors, particularly, there are frequently used color codes defined by eight or more bits. In order to utilize such color codes to judge whether each of the pixels is transparent or opaque, the system must take in and judge all the data of eight or more bits defining color codes. This means that the judgement cannot be performed rapidly.
In the conventional system, time required to judge whether each pixel is transparent or opaque intimately relates to the number of displayable objects on each horizontal scan line. If such a judgement is delayed, therefore, the number of objects displayed on one horizontal scan line is restricted.
In order to overcome such a problem and to judge whether each pixel is transparent or opaque in a more rapid manner, it can be considered that the system comprises gates corresponding in number to the number of bits defining the color codes and that the bit data from these gates are simultaneously logically processed to perform the aforementioned judgement. However, such a solution provides a very complicated circuit for judging whether each pixel is transparent or opaque, resulting in increased cost on manufacturing the entire system.
(B) Second Problem
In the conventional object display system, 16 bits are generally assigned to a storage area corresponding to one of pixels in the line buffer 60. To each of such storage areas, there are written data of each object which consists of 8-bit color codes used to distinguish colors, 5-bit pallet codes for specifying the kind of color pallets and 3-bit attribute codes representing the priority order of the object and the like.
There is thus created another problem that as the amount of information is being increased for each of the objects, the amount of data written in each storage area of the line buffer also increases, requiring a line buffer having its larger capacity.
In the recent video games, the number of colors for object is remarkably increased to increase the number of bits in color and pallet codes to be written in each of the pixels within the line buffer 60. In a video game using the great number of colors, therefore, it requires a line buffer having its increased capacity, resulting in increase of manufacturing cost.
(C) Third Problem
In the conventional object display system, further, display data such as color codes themselves for each object are written in the line buffer 60. If the amount of data to be written in the storage area of each of the pixels is to increase, the line buffer 60 must be replaced by another line buffer having its larger capacity. This leads to still another problem in that the line buffer 60 cannot be custom-chipped to make the entire system more inexpensive.